package com.lxmes.sales.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 供方报价对象 zc_supplier_quotation
 *
 * @author lx
 * @date 2023-06-21
 */
@ApiModel(value = "ZcSupplierQuotation", description = "供方报价对象")
public class ZcSupplierQuotation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("id")
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String companyName;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String companyCode;

    /** 发布日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("发布日期")
    private Date publishDate;

    /** 报价结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报价结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("报价结束日期")
    private Date quoteEndDate;

    /** 开标日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开标日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开标日期")
    private Date bidDate;

    /** 订单类型 */
    @Excel(name = "订单类型")
    @ApiModelProperty("订单类型")
    private String orderType;

    /** 订单编号 */
    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNumber;

    /** 物料类型 */
    @Excel(name = "物料类型")
    @ApiModelProperty("物料类型")
    private String materialType;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 物料号 */
    @Excel(name = "物料号")
    @ApiModelProperty("物料号")
    private String materialNumber;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty("规格型号")
    private String specification;

    /** 物料单位 */
    @Excel(name = "物料单位")
    @ApiModelProperty("物料单位")
    private String materialUnit;

    /** 条形码 */
    @Excel(name = "条形码")
    @ApiModelProperty("条形码")
    private String barcode;

    /** 制造商编码 */
    @Excel(name = "制造商编码")
    @ApiModelProperty("制造商编码")
    private String manufacturerCode;

    /** 制造商名称 */
    @Excel(name = "制造商名称")
    @ApiModelProperty("制造商名称")
    private String manufacturerName;

    /** 采购数量 */
    @Excel(name = "采购数量")
    @ApiModelProperty("采购数量")
    private BigDecimal purchaseQuantity;

    /** 交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("交货日期")
    private Date deliveryDate;

    /** 交货地址 */
    @Excel(name = "交货地址")
    @ApiModelProperty("交货地址")
    private String deliveryAddress;

    /** 运费 */
    @Excel(name = "运费")
    @ApiModelProperty("运费")
    private BigDecimal freight;

    /** 尺寸 */
    @Excel(name = "尺寸")
    @ApiModelProperty("尺寸")
    private String size;

    /** 单重 */
    @Excel(name = "单重")
    @ApiModelProperty("单重")
    private BigDecimal unitWeight;

    /** 总重 */
    @Excel(name = "总重")
    @ApiModelProperty("总重")
    private BigDecimal totalWeight;

    /** 颜色 */
    @Excel(name = "颜色")
    @ApiModelProperty("颜色")
    private String color;

    /** 花纹 */
    @Excel(name = "花纹")
    @ApiModelProperty("花纹")
    private String pattern;

    /** 材质 */
    @Excel(name = "材质")
    @ApiModelProperty("材质")
    private String materialMaterial;

    /** 包装数量 */
    @Excel(name = "包装数量")
    @ApiModelProperty("包装数量")
    private Long packagingQuantity;

    /** 包装尺寸 */
    @Excel(name = "包装尺寸")
    @ApiModelProperty("包装尺寸")
    private String packagingSize;

    /** 包装材质 */
    @Excel(name = "包装材质")
    @ApiModelProperty("包装材质")
    private String packagingMaterial;

    /** 采购人 */
    @Excel(name = "采购人")
    @ApiModelProperty("采购人")
    private String purchaser;

    /** 报价编号 */
    @Excel(name = "报价编号")
    @ApiModelProperty("报价编号")
    private String quoteNumber;

    /** 报价日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报价日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("报价日期")
    private Date quoteDate;

    /** 报价（含税） */
    @Excel(name = "报价", readConverterExp = "含=税")
    @ApiModelProperty("报价（含税）")
    private BigDecimal quoteInclTax;

    /** 税率 */
    @Excel(name = "税率")
    @ApiModelProperty("税率")
    private BigDecimal taxRate;

    /** 报价（不含税） */
    @Excel(name = "报价", readConverterExp = "不=含税")
    @ApiModelProperty("报价（不含税）")
    private BigDecimal quoteExclTax;

    /** 报价单位 */
    @Excel(name = "报价单位")
    @ApiModelProperty("报价单位")
    private String quoteUnit;

    /** 报价人 */
    @Excel(name = "报价人")
    @ApiModelProperty("报价人")
    private String quotePerson;

    /** 报价单附件 */
    @Excel(name = "报价单附件")
    @ApiModelProperty("报价单附件")
    private String quoteAttachment;

    /** 招采状态 */
    @Excel(name = "招采状态")
    @ApiModelProperty("招采状态")
    private String procurementStatus;


    /** 部门数据隔离代码 */
    private Long deptId;

    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setCompanyCode(String companyCode)
    {
        this.companyCode = companyCode;
    }

    public String getCompanyCode()
    {
        return companyCode;
    }
    public void setPublishDate(Date publishDate)
    {
        this.publishDate = publishDate;
    }

    public Date getPublishDate()
    {
        return publishDate;
    }
    public void setQuoteEndDate(Date quoteEndDate)
    {
        this.quoteEndDate = quoteEndDate;
    }

    public Date getQuoteEndDate()
    {
        return quoteEndDate;
    }
    public void setBidDate(Date bidDate)
    {
        this.bidDate = bidDate;
    }

    public Date getBidDate()
    {
        return bidDate;
    }
    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }
    public void setOrderNumber(String orderNumber)
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber()
    {
        return orderNumber;
    }
    public void setMaterialType(String materialType)
    {
        this.materialType = materialType;
    }

    public String getMaterialType()
    {
        return materialType;
    }
    public void setMaterialName(String materialName)
    {
        this.materialName = materialName;
    }

    public String getMaterialName()
    {
        return materialName;
    }
    public void setMaterialNumber(String materialNumber)
    {
        this.materialNumber = materialNumber;
    }

    public String getMaterialNumber()
    {
        return materialNumber;
    }
    public void setSpecification(String specification)
    {
        this.specification = specification;
    }

    public String getSpecification()
    {
        return specification;
    }
    public void setMaterialUnit(String materialUnit)
    {
        this.materialUnit = materialUnit;
    }

    public String getMaterialUnit()
    {
        return materialUnit;
    }
    public void setBarcode(String barcode)
    {
        this.barcode = barcode;
    }

    public String getBarcode()
    {
        return barcode;
    }
    public void setManufacturerCode(String manufacturerCode)
    {
        this.manufacturerCode = manufacturerCode;
    }

    public String getManufacturerCode()
    {
        return manufacturerCode;
    }
    public void setManufacturerName(String manufacturerName)
    {
        this.manufacturerName = manufacturerName;
    }

    public String getManufacturerName()
    {
        return manufacturerName;
    }
    public void setPurchaseQuantity(BigDecimal purchaseQuantity)
    {
        this.purchaseQuantity = purchaseQuantity;
    }

    public BigDecimal getPurchaseQuantity()
    {
        return purchaseQuantity;
    }
    public void setDeliveryDate(Date deliveryDate)
    {
        this.deliveryDate = deliveryDate;
    }

    public Date getDeliveryDate()
    {
        return deliveryDate;
    }
    public void setDeliveryAddress(String deliveryAddress)
    {
        this.deliveryAddress = deliveryAddress;
    }

    public String getDeliveryAddress()
    {
        return deliveryAddress;
    }
    public void setFreight(BigDecimal freight)
    {
        this.freight = freight;
    }

    public BigDecimal getFreight()
    {
        return freight;
    }
    public void setSize(String size)
    {
        this.size = size;
    }

    public String getSize()
    {
        return size;
    }
    public void setUnitWeight(BigDecimal unitWeight)
    {
        this.unitWeight = unitWeight;
    }

    public BigDecimal getUnitWeight()
    {
        return unitWeight;
    }
    public void setTotalWeight(BigDecimal totalWeight)
    {
        this.totalWeight = totalWeight;
    }

    public BigDecimal getTotalWeight()
    {
        return totalWeight;
    }
    public void setColor(String color)
    {
        this.color = color;
    }

    public String getColor()
    {
        return color;
    }
    public void setPattern(String pattern)
    {
        this.pattern = pattern;
    }

    public String getPattern()
    {
        return pattern;
    }
    public void setMaterialMaterial(String materialMaterial)
    {
        this.materialMaterial = materialMaterial;
    }

    public String getMaterialMaterial()
    {
        return materialMaterial;
    }
    public void setPackagingQuantity(Long packagingQuantity)
    {
        this.packagingQuantity = packagingQuantity;
    }

    public Long getPackagingQuantity()
    {
        return packagingQuantity;
    }
    public void setPackagingSize(String packagingSize)
    {
        this.packagingSize = packagingSize;
    }

    public String getPackagingSize()
    {
        return packagingSize;
    }
    public void setPackagingMaterial(String packagingMaterial)
    {
        this.packagingMaterial = packagingMaterial;
    }

    public String getPackagingMaterial()
    {
        return packagingMaterial;
    }
    public void setPurchaser(String purchaser)
    {
        this.purchaser = purchaser;
    }

    public String getPurchaser()
    {
        return purchaser;
    }
    public void setQuoteNumber(String quoteNumber)
    {
        this.quoteNumber = quoteNumber;
    }

    public String getQuoteNumber()
    {
        return quoteNumber;
    }
    public void setQuoteDate(Date quoteDate)
    {
        this.quoteDate = quoteDate;
    }

    public Date getQuoteDate()
    {
        return quoteDate;
    }
    public void setQuoteInclTax(BigDecimal quoteInclTax)
    {
        this.quoteInclTax = quoteInclTax;
    }

    public BigDecimal getQuoteInclTax()
    {
        return quoteInclTax;
    }
    public void setTaxRate(BigDecimal taxRate)
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate()
    {
        return taxRate;
    }
    public void setQuoteExclTax(BigDecimal quoteExclTax)
    {
        this.quoteExclTax = quoteExclTax;
    }

    public BigDecimal getQuoteExclTax()
    {
        return quoteExclTax;
    }
    public void setQuoteUnit(String quoteUnit)
    {
        this.quoteUnit = quoteUnit;
    }

    public String getQuoteUnit()
    {
        return quoteUnit;
    }
    public void setQuotePerson(String quotePerson)
    {
        this.quotePerson = quotePerson;
    }

    public String getQuotePerson()
    {
        return quotePerson;
    }
    public void setQuoteAttachment(String quoteAttachment)
    {
        this.quoteAttachment = quoteAttachment;
    }

    public String getQuoteAttachment()
    {
        return quoteAttachment;
    }
    public void setProcurementStatus(String procurementStatus)
    {
        this.procurementStatus = procurementStatus;
    }

    public String getProcurementStatus()
    {
        return procurementStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("companyName", getCompanyName())
            .append("companyCode", getCompanyCode())
            .append("publishDate", getPublishDate())
            .append("quoteEndDate", getQuoteEndDate())
            .append("bidDate", getBidDate())
            .append("orderType", getOrderType())
            .append("orderNumber", getOrderNumber())
            .append("materialType", getMaterialType())
            .append("materialName", getMaterialName())
            .append("materialNumber", getMaterialNumber())
            .append("specification", getSpecification())
            .append("materialUnit", getMaterialUnit())
            .append("barcode", getBarcode())
            .append("manufacturerCode", getManufacturerCode())
            .append("manufacturerName", getManufacturerName())
            .append("purchaseQuantity", getPurchaseQuantity())
            .append("deliveryDate", getDeliveryDate())
            .append("deliveryAddress", getDeliveryAddress())
            .append("freight", getFreight())
            .append("size", getSize())
            .append("unitWeight", getUnitWeight())
            .append("totalWeight", getTotalWeight())
            .append("color", getColor())
            .append("pattern", getPattern())
            .append("materialMaterial", getMaterialMaterial())
            .append("packagingQuantity", getPackagingQuantity())
            .append("packagingSize", getPackagingSize())
            .append("packagingMaterial", getPackagingMaterial())
            .append("purchaser", getPurchaser())
            .append("quoteNumber", getQuoteNumber())
            .append("quoteDate", getQuoteDate())
            .append("quoteInclTax", getQuoteInclTax())
            .append("taxRate", getTaxRate())
            .append("quoteExclTax", getQuoteExclTax())
            .append("quoteUnit", getQuoteUnit())
            .append("quotePerson", getQuotePerson())
            .append("quoteAttachment", getQuoteAttachment())
            .append("procurementStatus", getProcurementStatus())
            .append("remark", getRemark())
            .toString();
    }
}
